/**
 * 企业服务接口 - 多租户企业管理的核心业务接口
 *
 * 开发人员：马勇俐
 * 开发时间：2025-11-16 至 2025-11-20
 * 模块职责：定义多租户企业的完整管理接口，支持企业创建、查询、更新、删除等功能
 *
 * 技术要点：
 * - 多租户企业数据隔离和管理
 * - 企业状态和信息管理机制
 * - 企业信用代码唯一性验证
 * - 企业联系人信息维护和管理
 * - 系统级企业列表和查询功能
 *
 * 开发故事：负责企业服务接口的设计和定义，与企业控制器和前端企业界面深度配合，为系统提供完整的多租户企业管理服务。
 */
package com.pbl.service;

import com.pbl.entity.Enterprise;

import java.util.List;

public interface EnterpriseService {
    /**
     * 创建新企业（多租户系统初始化）
     * @param e 企业对象
     * @return 创建的企业对象
     */
    Enterprise create(Enterprise e);

    /**
     * 更新企业信息
     * @param id 企业ID
     * @param e 企业对象（包含更新信息）
     * @return 更新后的企业对象
     */
    Enterprise update(Long id, Enterprise e);

    /**
     * 获取企业详情
     * @param id 企业ID
     * @return 企业对象
     */
    Enterprise get(Long id);

    /**
     * 删除企业（软删除或级联删除）
     * @param id 企业ID
     */
    void delete(Long id);

    /**
     * 获取所有企业列表（系统级查询）
     * @return 企业列表
     */
    List<Enterprise> list();
}
